1. Field
Apparatuses and methods consistent with exemplary embodiments related to interleaving and puncturing bits of a transmission signal such as codeword bits.
2. Description of the Related Art
A polar code is an error correction code which is developed in 2009 by Arikan, and theoretically achieves a channel capacity at a binary-input discrete memoryless symmetric channel. However, there is a disadvantage in that when the polar code is designed as 2×2 kernel matrix, a length of the code is limited to power of 2.
The polar code is generated by a generated matrix G of K×N size generated based on a channel polarization phenomenon. Here, the matrix G is a matrix formed of binary values, that is N=2n (N is a natural number greater than 1), and K is a natural number not greater than N.
Accordingly, a polar codeword x corresponding to u which is a row vector of K length formed of binary values may be calculated as Equation 1 below.u−G=[u0,u1, . . . ,uK-1]·G=x=[x0,x1, . . . ,xN−1]  [Equation 1]
Here, an addition of the binary values is performed by an arithmetic operation, and the polar codeword becomes the row vector of K length formed of binary values. Here, according to a change of u value, a polar codeword x is also changed, and this mapping relation between u and x is called a polar code.
N length of the polar code is only a power value of 2, and thus, there is a problem that the length of the polar code is limited.
One of the methods which are used to resolve this problem is a puncturing method. A puncturing is one of the methods which are able to change a code length and a code rate variously, and is a method which does not transmit a part of bits constituting a codeword by removing the same. Here, a codeword before being punctured is called a mother code.
FIG. 1 illustrates an example of puncturing three bits (=p) regarding a polar codeword where K=4 and N=8.
Referring to FIG. 1, when a polar codeword x corresponding to u generated by a generator matrix G is formed of x0, x1, x2, x3, x4, x5, x6, x7 bits, if the x1, x4, x7 bits are punctured, x0, x2, x3, x5, x6 bit remain.
This puncturing method may be performed in a bit unit, and thus, every code length shorter than N may be made theoretically. Meanwhile, when puncturing is performed, various puncturing patterns may exist according to N and p. Even if a same number of bits are punctured, an error rate performance varies according to the puncturing pattern, and thus, it is important to decide which bit should be punctured.